#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include<iostream>
#include <QMainWindow>
#include<items.h>
#include<fileoption.h>
#include<QString>
#include<QListWidgetItem>
#include<QStringListModel>
#include<QMessageBox>
#include<QPalette>
#include<QStandardItemModel>//标准数据模型
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
//通讯录操作
//最大容量
const int MAX=1000;
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    Ui::MainWindow *ui;
    MainWindow(QWidget *parent = nullptr);
    //通讯录查找物品
    void checki_show(QString str1);
    //通讯录添加物品
    void addi(QString str1,QString l,int num);
    //通讯录删除物品
    void deletei(QString str1);
    //通讯录展示物品
    void showi();
    void tableshow();

    //文件操作
    // 在mainwindow中创建fileoption对象时将mainwindow设置为fileoption的父对象
    void openFileOption();
    void readFromFile(const QString &fileName);
    void writeToFile(const QString &fileName);
    items* gethead(){
        return head;
    }
    ~MainWindow();

private slots:
    void acceptSignup();
    void update();//更新窗口
    void on_OKbtn_clicked();
    void on_checkBox_clicked(bool checked);    
    void on_memoryGame_clicked();
    void on_cheBtn_toggled(bool checked);

    void on_addBtn_toggled(bool checked);

    void on_delBtn_toggled(bool checked);

signals:
    void emitTgame();
private:
    //建立通讯录
    items*head;
    items*tail;
   int listnum;//记录现有物品列表数量
//    class fileoption*option;
    QString c_name;
    bool blscheck;
    int option;//记录需要进行何操作

};
#endif // MAINWINDOW_H
